home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (PO)
/
Nibble Volume 12, No. 12 (1991-12)(MindCraft Publishing)(Side A).zip
/
Nibble Volume 12, No. 12 (1991-12)(MindCraft Publishing)(Side A).po
/
IIGS.KEYPRESS.bas
< prev
next >
Wrap
BASIC Source File
|
1996-12-24
|
1KB
|
32 lines
10 REM PROGRAM IIGS.KEYPRESS
20 REM THIS USES BIT.BREAKER TO TAKE APART
30 REM THE IIGS KEY MODIFIER REGISTER AT $C025, 49189
40 REM BIT 0 IS SHIFT KEY
50 REM BIT 1 IS CONTROL KEY
60 REM BIT 2 IS CAPS LOCK
70 REM BIT 3 IS REPEAT
80 REM BIT 4 IS KEYPAD
90 REM BIT 5 UPDATES THE REGISTER WITHOUT A KEYPRESS
100 REM BIT 6 IS OPTION/CLOSED APPLE
110 REM BIT 7 IS OPEN APPLE
120 HOME : PRINT "PRESS ANY KEY OR COMBINATION OF KEYS": PRINT
130 K = PEEK(49152): IF K <128 THEN 130: REM GET REGULAR KEY VALUE
140 POKE 49168,0: REM CLEAR KEYBOARD STROBE
150 N = PEEK(49189): REM GET VALUE OF KEY MODIFIER REGISTER
160 PRINT "BIT BREAKDOWN OF THE REGISTER": PRINT
170 FOR BT = 0 TO 7
180 V = (N - INT(N/2) *2): PRINT "BIT ";BT;" IS ";V:D(BT) = V
190 N = INT(N/2): REM REDUCE VALUE
200 NEXT : PRINT
210 IF D(0) = 1 THEN PRINT "SHIFT KEY WAS PRESSED"
220 IF D(1) = 1 THEN PRINT "THE CONTROL KEY WAS PRESSED"
230 IF D(2) = 1 THEN PRINT "CAPS LOCK KEY IS DOWN"
240 IF D(3) = 1 THEN PRINT "A KEY IS BEING HELD DOWN"
250 IF D(4) = 1 THEN PRINT "A NUMERIC KEY WAS PRESSED"
260 IF D(5) = 1 THEN PRINT "THE REGISTER HAS BEEN UDATED WITH NO KEYPRESS"
270 IF D(6) = 1 THEN PRINT "THE OPTION/CLOSED APPLE KEY WAS PRESSED"
280 IF D(7) = 1 THEN PRINT "OPEN APPLE/COMMAND KEY WAS PRESSED"
290 IF (K -128) <32 THEN 310
300 PRINT "THE KEY PRESSED WAS "; CHR$(K -128): END
310 PRINT "THE KEY PRESSED WAS CTRL "; CHR$((K -128) +64)
320 END